In a situation in which multiple accessory modules are connected to a host module by means of a bus, it may be necessary for the host module to be able to address the accessory modules separately. The process of identifying the accessory modules, and allocating separate bus address spaces to them, is termed enumeration.
The enumeration process typically involves a series of broadcast queries from the host module to any accessory modules which may be present. Any module which satisfies a criterion in a query may respond. Depending on which modules are present, there may be a single module responding, no module responding, or multiple modules responding. Modules that are not responding will generally not affect the signal level on the medium. When no module responds to a particular query, the voltage level or logic level on the bus may thus be uncertain and the response ambiguous or uninterpretable. To avoid this issue in the case for example of a bus with signalling on a single wire, there may be active or passive circuitry provided so that, if no module responds, the logic level is a well-defined value.
Similarly, buses may include mechanisms which ensure that, when multiple modules provide a logic signal onto the bus, the resulting logic signal level can be resolved in a deterministic way.
Examples of such mechanisms include I2C and SoundWire™.
However, for various reasons, including EMI (electromagnetic interference) emissions or EMI susceptibility, it is preferable for a bus to comprise a pair of conductors or wires, over which the signal is transmitted as a differential signal, i.e. one wire carries a signal equal but opposite to that an the other one with respect to some defined common-mode voltage. However the advantageous properties of the differential transmission configuration transmission rely on the symmetry of the conductor arrangement, so it is undesirable to provide an asymmetrical pull-up.
There is also the problem of distinguishing between situations in which just one module responds and when multiple modules respond. If such replies are indistinguishable, the enumeration algorithm may be unduly inefficient.